package net.neptech.service;

import net.neptech.dto.schedule.ScheduleDto;
import net.neptech.model.schedule.Schedule;

import java.util.List;

/**
 * @Author HuangZhengmin
 * @desc
 * @Date 2025/8/15 11:19
 * @Version 1.0
 */
public interface ScheduleService {

  /**
   * 新增排班记录
   */
  void addSchedule(Schedule schedule);

  /**
   * 批量新增排班记录
   */
  void batchAddSchedule(ScheduleDto scheduleDto);

  /**
   * 根据scheduleId是否存在  决定批量新增或修改
   */
  void batchAddOrUpdateSchedule(ScheduleDto scheduleDto);

  /**
   * 修改排班记录
   */
  void updateSchedule(Schedule schedule);

  /**
   * 删除排班记录
   */
  void deleteSchedule(Long id);

  /**
   * 动态查询排班记录
   */
  List<Schedule> findSchedulesByCondition(Schedule condition);

}
